package com.skivingcloud.admin.sys.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.JsonNode;

import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 应用设计记录
 * </p>
 *
 * @author skivingcloud
 * @since 2022-07-06
 */
@TableName("sys_business_designer")
@ApiModel(value = "SysBusinessDesigner对象", description = "应用设计记录")
public class SysBusinessDesigner implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    private String id;

    @ApiModelProperty("版本")
    private Integer version;

    @ApiModelProperty("应用设计编码")
    private String designerCode;

    @ApiModelProperty("应用设计名称")
    private String designerName;

    @ApiModelProperty("业务类型：sys_business_type.type_code")
    private String typeCode;

    @ApiModelProperty("是否 含流程")
    private String hasTask;

    @ApiModelProperty("流程定义编码")
    private String taskDefCode;

    @ApiModelProperty("新建时表单")
    private String newFormId;

    @ApiModelProperty("修改时表单")
    private String modFormId;

    @ApiModelProperty("详情表单")
    private String detailFormId;

    @ApiModelProperty("菜单路径")
    private String menuTxt;

    @ApiModelProperty("是否自定义接口")
    private String customizeApi;

    @ApiModelProperty("新增接口url")
    private String addApiUrl;

    @ApiModelProperty("修改接口url")
    private String updateApiUrl;

    @ApiModelProperty("表单数据加载接口")
    private String detailApiUrl;

    @TableField(exist = false)
    @ApiModelProperty("新增表单的json数据，用于前端渲染表单")
    private JsonNode newFormJson;

    @TableField(exist = false)
    @ApiModelProperty("修改表单的json数据，用于前端渲染表单")
    private JsonNode modFormJson;
    
    @TableField(exist = false)
    @ApiModelProperty("详情表单的json数据，用于前端渲染表单")
    private JsonNode detailFormJson;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }
    public String getDesignerCode() {
        return designerCode;
    }

    public void setDesignerCode(String designerCode) {
        this.designerCode = designerCode;
    }
    public String getDesignerName() {
        return designerName;
    }

    public void setDesignerName(String designerName) {
        this.designerName = designerName;
    }
    public String getTypeCode() {
        return typeCode;
    }

    public void setTypeCode(String typeCode) {
        this.typeCode = typeCode;
    }
    public String getHasTask() {
        return hasTask;
    }

    public void setHasTask(String hasTask) {
        this.hasTask = hasTask;
    }
    public String getTaskDefCode() {
        return taskDefCode;
    }

    public void setTaskDefCode(String taskDefCode) {
        this.taskDefCode = taskDefCode;
    }
    public String getNewFormId() {
        return newFormId;
    }

    public void setNewFormId(String newFormId) {
        this.newFormId = newFormId;
    }
    public String getModFormId() {
        return modFormId;
    }

    public void setModFormId(String modFormId) {
        this.modFormId = modFormId;
    }
    public String getDetailFormId() {
        return detailFormId;
    }

    public void setDetailFormId(String detailFormId) {
        this.detailFormId = detailFormId;
    }
    public String getMenuTxt() {
        return menuTxt;
    }

    public void setMenuTxt(String menuTxt) {
        this.menuTxt = menuTxt;
    }
    public String getCustomizeApi() {
        return customizeApi;
    }

    public void setCustomizeApi(String customizeApi) {
        this.customizeApi = customizeApi;
    }
    public String getAddApiUrl() {
        return addApiUrl;
    }

    public void setAddApiUrl(String addApiUrl) {
        this.addApiUrl = addApiUrl;
    }
    public String getUpdateApiUrl() {
        return updateApiUrl;
    }

    public void setUpdateApiUrl(String updateApiUrl) {
        this.updateApiUrl = updateApiUrl;
    }
    public String getDetailApiUrl() {
        return detailApiUrl;
    }

    public void setDetailApiUrl(String detailApiUrl) {
        this.detailApiUrl = detailApiUrl;
    }

    /**
     * @return the newFormJson
     */
    public JsonNode getNewFormJson() {
        return newFormJson;
    }

    /**
     * @param newFormJson the newFormJson to set
     */
    public void setNewFormJson(JsonNode newFormJson) {
        this.newFormJson = newFormJson;
    }

    /**
     * @return the modFormJson
     */
    public JsonNode getModFormJson() {
        return modFormJson;
    }

    /**
     * @param modFormJson the modFormJson to set
     */
    public void setModFormJson(JsonNode modFormJson) {
        this.modFormJson = modFormJson;
    }

    /**
     * @return the detailFormJson
     */
    public JsonNode getDetailFormJson() {
        return detailFormJson;
    }

    /**
     * @param detailFormJson the detailFormJson to set
     */
    public void setDetailFormJson(JsonNode detailFormJson) {
        this.detailFormJson = detailFormJson;
    }

    @Override
    public String toString() {
        return "SysBusinessDesigner{" +
            "id=" + id +
            ", version=" + version +
            ", designerCode=" + designerCode +
            ", designerName=" + designerName +
            ", typeCode=" + typeCode +
            ", hasTask=" + hasTask +
            ", taskDefCode=" + taskDefCode +
            ", newFormId=" + newFormId +
            ", modFormId=" + modFormId +
            ", detailFormId=" + detailFormId +
            ", menuTxt=" + menuTxt +
            ", customizeApi=" + customizeApi +
            ", addApiUrl=" + addApiUrl +
            ", updateApiUrl=" + updateApiUrl +
            ", detailApiUrl=" + detailApiUrl +
        "}";
    }
}
